{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "1.请简述基于内容的推荐和基于协同过滤的推荐的基本原理，并指出二者的适用场景\n",
    "答：基于内容的推荐原理：1.计算用户画像  2.计算用户历史物品的画像  3.通过物品和用户计算用户偏好  4.来新的物品后根据用户偏好排序，推荐物品\n",
    "    基于协同过滤的推荐原理：\n",
    "        1).基于用户的协同过滤：1.计算用户之间的相似度 2.通过相似度计算物品打分 3.对所有物品打分进行排序 4.选取分数高的推荐给用户\n",
    "        2).基于物品的协同过滤：1.计算物品之间的相似度 2.通过相似度计算物品的打分 2.对所有物品打分排序  4.选取分数高的给用户\n",
    "        3).基于矩阵的协同过滤：1.进行矩阵分解PQ 2.通过梯度下降法求解 bu bi quk pik 3. 通过计算的对物品进行打分r = u+bu+bi+pu*qi 4.排序打分高的物品推荐给用户\n",
    "    基于内容的推荐：有用户历史数据的场景，用户行为越多越准确\n",
    "    基于用户的协同过滤：适用用户少或用户比较固定的地方，如有些新闻类的产品，用户较少，但是物品较多\n",
    "    基于物品的协同过滤：适合物品比较固定的地方，如商城等\n",
    "2.请分别给出一个基于用户的协同过滤和基于物品的协同过滤的典型应用场景。\n",
    "    基于用户的协同过滤：新闻类产品，新闻数据多但是用户比较固定\n",
    "    基于物品的协同过滤：商城类产品，物品都比较估计，人流比较多\n",
    "3.将推荐电影数目改成20个，运行课程给的代码，比较三种协同过滤算法的性能，并和推荐数目为10的推荐结果比较。\n",
    "改成20个后所有推荐的评价指标都比10个要好写，覆盖率上基于物品的推荐覆盖率比较高"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
